import { invoke } from "@tauri-apps/api/core";

// 存储服务器相关的全局变量
let targetArchToStore: string;
let jsonServerUrl: string;
let imgServerUrl: string;

// 初始化函数，在应用启动时调用
export async function initServerConfig() {
  targetArchToStore = await invoke('get_target_arch_to_store');
  jsonServerUrl = await invoke('get_json_server_url');
  imgServerUrl = await invoke('get_img_server_url');
}

export function getTargetArchToStore(): string {
  if (!targetArchToStore) {
    throw new Error('服务器配置未初始化，请先调用 initServerConfig');
  }
  return targetArchToStore;
}

/**
 * 获取JSON服务器URL
 * @returns 返回JSON服务器的完整URL
 */
export function getJsonServerUrl(): string {
  if (!jsonServerUrl) {
    throw new Error('服务器配置未初始化，请先调用 initServerConfig');
  }
  return jsonServerUrl;
}

/**
 * 获取图片服务器URL
 * @returns 返回图片服务器的完整URL
 */
export function getImgServerUrl(): string {
  if (!imgServerUrl) {
    throw new Error('服务器配置未初始化，请先调用 initServerConfig');
  }
  return imgServerUrl;
}

/**
 * 获取 User-Agent
 * @returns 返回应用的 User-Agent 字符串
 */
export async function getUserAgent(): Promise<string> {
    return await invoke('get_user_agent');
  }